home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_09_07
/
9n07016a
< prev
next >
Wrap
Text File
|
1991-05-22
|
492b
|
27 lines
/* _Dtest function -- IEEE 754 version */
#include "xmath.h"
short _Dtest(double *px)
{ /* categorize *px */
unsigned short *ps = (unsigned short *)px;
short xchar = (ps[_D0] & _DMASK) >> _DOFF;
if (xchar == _DMAX) /* NaN or INF */
return (ps[_D0] & _DFRAC || ps[_D1]
|| ps[_D2] || ps[_D3] ? NAN : INF);
else if (0 < xchar || ps[_D0] & _DFRAC
|| ps[_D1] || ps[_D2] || ps[_D3])
return (FINITE); /* finite */
else
return (0); /* zero */
}